﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel;

namespace Campus.Entities
{
    [Table("Profesores")]
    public class Profesor
    {
        public int ProfesorId
        {
            get;
            set;
        }

        [Required(ErrorMessage = "El {0} es requerido")]
        [StringLength(20, ErrorMessage = "El {0} no puede tener mas 20 caracteres")]
        public String Nombre
        {
            get;
            set;
        }

        [Required(ErrorMessage = "El {0} es requerido")]
        [StringLength(20, ErrorMessage = "El {0} no puede tener mas 20 caracteres")]
        public String Apellido
        {
            get;
            set;
        }

        [DisplayName("Teléfono")]
        [StringLength(20, ErrorMessage = "El {0} no puede tener mas 20 caracteres")]
        public string Telefono
        {
            get;
            set;
        }

        [StringLength(50, ErrorMessage = "El {0} no puede tener mas 50 caracteres")]
        [DataType(DataType.EmailAddress)]
        public string Email
        {
            get;
            set;
        }

        /// <summary>
        /// Un profesor puede enseñar en muchos grupos y un grupo puede tener mas de un profesor
        /// Por lo tanto es necesaria un relacion muchos a muchos entre grupo y profesor por medio de una 
        /// lista en cada clase
        /// </summary>
        public virtual ICollection<Grupo> Grupos
        {
            get;
            set;
        }
        
    }
}
